# -*- coding: utf-8 -*-
__author__ = 'lztkdr'
__date__ = '2020/4/14 13:34'

"""
 crosstab 交叉表
"""

import numpy as np
import pandas as pd

print(
	"===================================================================================================================")
df1 = pd.DataFrame({'lkey': ['foo', 'bar', 'baz', 'foo'],
                    'value': [1, 2, 3, 5]})
print(df1)
print("=================================================")
df2 = pd.DataFrame({'rkey': ['foo', 'bar', 'baz', 'foo'],
                    'value': [5, 6, 7, 8]})
print(df2)
print("=================================================")
data = df1.merge(df2, left_on='lkey', right_on='rkey')
print(data)

print(
	"===================================================================================================================")
df = pd.DataFrame({'类别': ['水果', '水果', '水果', '蔬菜', '蔬菜', '肉类', '肉类'],
                   '产地': ['美国', '中国', '中国', '中国', '新西兰', '新西兰', '美国'],
                   '水果': ['苹果', '梨', '草莓', '番茄', '黄瓜', '羊肉', '牛肉'],
                   '数量': [5, 5, 9, 3, 2, 10, 8],
                   '价格': [5, 5, 10, 3, 3, 13, 20]})
print(df)
print("=================================================")
tab = pd.crosstab(df['类别'], df['产地'])  # 按类别分组，统计各个分组中产地的频数
print(tab)
print("=================================================")
tab2 = pd.crosstab(df['类别'], df['产地'], margins=True, margins_name='total')  # 按类别分组，统计各个分组中产地的频数
print(tab2)
